#ifndef __FW_STATE_H__
#define __FW_STATE_H__

#include <vector>
#include "fwEntity.h"
#include "../Config/fwMacro.h"
#include "../Config/fwDllConfig.h"

class _DLL_LIB_API State
{
protected:
	std::vector<Entity*> m_lEntities;
	int m_iCount;
public:
	const char * szName;
public:
	State();
	virtual ~State();

	virtual int Init() = 0;
	virtual void Destroy();

	virtual void Update(float deltaTime);
	virtual void Draw();

	virtual void Key(const char key, bool status);
	virtual void Touch(float x, float y, bool status);
};

#endif